package com.zzr.demo.redis.service;

import java.util.Set;

/**
 * @author: xiaomi
 * @date: 2021/10/8
 * @description: 社交关系
 * 主要实现：
 * 1. 用户的正在关注名单：用户可以查看自己正在关注的用户及其人数；
 * 2. 用户的关注者名单：用户可以查看有哪些人正在关注自己，以及有多少人正在关注自己。
 * 设计：
 * 1. 给每个用户维护两个集合：正在关注 + 关注者
 */
public interface SocialRelationService {

    //region 行为

    void follow(String follow, String master);

    void unfollow(String follow, String master);
    //endregion

    //region 统计
    long getFollowingCount(String userId);

    Set<String> getFollowings(String userId);

    Set<String> getCommonFollowings(String userId1, String userId2);

    long getFollowerCount(String userId);

    Set<String> getFollowers(String userId);


    //endregion
}
